//
// Created by work on 24-11-27.
//

#ifndef CPROTOCOLMGR_H
#define CPROTOCOLMGR_H

#include <iot_model_device/device_model_mgr/CSsqlMgr.h>
#include <iot_model_device/device_model_mgr/CRedisDbMgr.h>
#include <iot_model_device/device_model_mgr/CModelMgr.h>

class CProtocolMgr {
    STATIC_SINGLETON(CProtocolMgr);
public:
    [[maybe_unused]] static bool getModbusMaps(const std::string& userid, const std::string& model_name, Json::Value& modbusMaps);
    [[maybe_unused]] static bool addModbusMap(Json::Value& map);
    [[maybe_unused]] static bool delModbusMap(const std::string& map_id);

    [[maybe_unused]] static bool getModbusMapYxs(const std::string &map_id, std::string &userid, std::string &model_name, Json::Value &mapsigs);
    [[maybe_unused]] static bool changeModbusMapYxs(const std::string &map_id, Json::Value &mapsigs,Json::Value &errorino);

    [[maybe_unused]] static bool getModbusMapYcs(const std::string& map_id,std::string &userid, std::string &model_name, Json::Value& mapsigs);
    [[maybe_unused]] static bool changeModbusMapYcs(const std::string &map_id, Json::Value &mapsigs,Json::Value &errorino);

    [[maybe_unused]] static bool getModbusMapYks(const std::string& map_id,std::string &userid, std::string &model_name, Json::Value& mapsigs);
    [[maybe_unused]] static bool changeModbusMapYks(const std::string &map_id, Json::Value &mapsigs,Json::Value &errorino);

    [[maybe_unused]] static bool getModbusMapParameters(const std::string& map_id,std::string &userid, std::string &model_name, Json::Value& mapsigs);
    [[maybe_unused]] static bool changeModbusMapParameters(const std::string &map_id, Json::Value &mapsigs,Json::Value &errorino);
};



#endif //CPROTOCOLMGR_H
